package com.approval.mapper;

import com.approval.entity.ApprovalTask;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 审批任务Mapper接口
 */
@Mapper
public interface ApprovalTaskMapper {
    
    /**
     * 插入审批任务
     */
    int insert(ApprovalTask task);
    
    /**
     * 根据ID删除审批任务
     */
    int deleteById(Long id);
    
    /**
     * 更新审批任务
     */
    int update(ApprovalTask task);
    
    /**
     * 根据ID查询审批任务
     */
    ApprovalTask selectById(Long id);
    
    /**
     * 根据任务ID查询审批任务
     */
    ApprovalTask selectByTaskId(String taskId);
    
    /**
     * 查询所有审批任务
     */
    List<ApprovalTask> selectAll();
    
    /**
     * 根据用户ID查询审批任务
     */
    List<ApprovalTask> selectByUserId(Long userId);
    
    /**
     * 根据实例ID查询审批任务
     */
    List<ApprovalTask> selectByInstanceId(Long instanceId);
    
    /**
     * 根据状态查询审批任务
     */
    List<ApprovalTask> selectByStatus(String status);
}
